home *** CD-ROM | disk | FTP | other *** search
/ The Arsenal Files 8 / The Arsenal Files Collection #8 (Arsenal Computer) (1996).ISO / dosutils / fu_rd19b.zip / RAMDISK.TXT < prev    next >
Text File  |  1996-10-08  |  9KB  |  213 lines

  1.  
  2.                   XMSDSK.EXE
  3.                       &
  4.                   EMSDSK.EXE
  5.  
  6.                Franck UBERTO - 96/10/08
  7.               38000 Grenoble - FRANCE
  8.                    Email : uberto@esrf.fr
  9.  
  10.  
  11.   These utilities are 2 RAMdisks. For some people they surely will lack of
  12. some "bells and whistles", but I made them efficient and simple to use.
  13.   There are 2 programs because I wanted to optimize size and speed, so one is 
  14. for XMS and the other one is for EMS.
  15.   To get help for running them, just type: XMSDSK (or EMSDSK) /?.
  16.  
  17.  You can use them on 286 and upper (use EMSDSK86 for 8086 CPU). Once installed
  18. they will take about 500 bytes of memory.
  19.  
  20.   You can resize the disk (down to zero, or up to 2 Gb if available) at any
  21. time and so regain memory for another usage. This is possible on DOS command 
  22. line but *NOT* under WINDOWS because of virtualization. The transient part of 
  23. EXE will calculate all parameters for the new disk (the same ones used by
  24. MS-DOS for hard disk, so they should be convenient for all cases).
  25.  
  26.   Take care, if you shell out of a DOS program and modify the size of the disk:
  27. in the case you have set TEMP (or TMP) environment variable on the ramdisk or
  28. you have told this program to use the RAM disk, then some (hidden) files may
  29. have been created and some (not) pleasant things can happen.
  30.  
  31.   These RAM disks can be installed *ON THE COMMAND LINE* (and hence in
  32. autoexec.bat for example, see below). This way users can even *CHOOSE THE
  33. DRIVE LETTER* to be used.
  34.  
  35. Although the installation method (on command line) has been successfully tested
  36. on MS-DOS 3.x, 4.0, 5.0, 6.x (adapted years ago from "Undocumented DOS" by 
  37. Andrew Schulman, Addison-Wesley), it can't be certified that other MS-DOS 
  38. versions or 'clones' support it.
  39.  
  40. By _SPECIFING A DRIVE_ this permits to install the RAM disk between or after
  41. CDROM and network disks (some people want to have them at given 'letter' 
  42. drives; unfortunately MS-DOS assigns drive name as they are loaded). BTW this 
  43. method can improve some disk cache behaviour (if the cache can't be disabled
  44. for a given drive, by loading the RAM disk after the cache software, this 
  45. latter does not see the RAM disk and so does not try to cache it: it is not 
  46. only superfluous to cache a RAM disk but it wastes cache ressources).
  47.  
  48. NB: for a drive to be successfully used when specified on the command line
  49.     one must take care that this drive is <= LASTDRIVE , default value
  50.     (when not set in config.sys) is E.
  51.  
  52. NB2: when DBLSPACE/DRVSPACE is loaded there is 2 LASTDRIVE to take into 
  53.      account: the one in CONFIG.SYS and another one in DBLSPACE/DRVSPACE.INI.
  54.      This latter is a read-only, hidden, system file located, in general, on 
  55.      your boot disk, or C:, or the host-disk.
  56.      It seems that the highest of the 2 values takes precedence, but there 
  57.      are exceptions (else it won't be funny  :-) ): if one or more drives are
  58.      installed on "slots" reserved for DBLSPACE/DRVSPACE then LASTDRIVE is 
  59.      incremented accordingly.
  60.      Sorry, I tried to be as clear as possible but I can't be more as it's 
  61.      very far to be clear for my poor person.  :) :)
  62.  
  63.  
  64.   You can use and distribute these files: it's freeware.
  65.  
  66.   So ENJOY ...
  67.  
  68.  
  69.   
  70.   * Some hints ...
  71.   -----------------
  72.   
  73.   * About XMS and EMS memory ...
  74.   
  75.   XMS memory is allocated in _contiguous_ block. So you can have the surprise
  76.   of not being able to resize XMSDSK although MEM (or other) reports that you
  77.   have plenty of XMS mem available, strange isn't it ?
  78.   The fact is that other programs may have requested fixed blocks of memory
  79.   and now XMS mem is _fragmented_. Yes just like old DOS memory !
  80.   The solution is to load programs which need fixed mem blocks _before_ XMSDSK
  81.   so as to prevent XMS fragmentation. This way you'll be able to resize XMSDSK
  82.   from 0 to up the last Kbyte of available XMS memory.
  83.  
  84.   This is another advantage of loading the RAM disk from the command line.
  85.   
  86.   Note that on some systems fragmentation can nevertheless persist: this is
  87.   related to the way these BIOS or hardware configuration deal with upper mem.
  88.   
  89.   This fragmentation is not seen with EMSDSK because EMS mem (true or emulated)
  90.   is, sort of, 'scrambled' to appear to be contiguous.
  91.  
  92.  
  93.   * About disks in general ...
  94.  
  95.   Always try to work in a sub-directory: the root directory is assigned a fixed
  96.   size when the disk is formatted and, in most cases, it is limited to 512 
  97.   entries (files or directories) so the root can be "overflowed" although 
  98.   there's a lot of space left on the disk.
  99.   This is particularly true as XMSDSK and EMSDSK are resizable disks: root size
  100.   depends on the total size of the disk.
  101.   This is even more of a concern if you use long filenames under Win95: long
  102.   filename takes up one entry for the equivalent short name and several other
  103.   entries to store the long name. So this should fill up the root directory
  104.   very rapidly.
  105.  
  106.  
  107.   * Examples of use
  108.   ------------------
  109.  
  110.   device[high]='path'\XMSDSK.EXE [size in Kbytes] (or EMSDSK.EXE)
  111.      Install ramdisk in config.sys.
  112.      If size is not specified then disk has a null size.
  113.      
  114.   If the RAM disk is not loaded, at the first time the EXE will be run it
  115.   will ask to do it. So if you want to do it purposely, in autoexec.bat for
  116.   example, type:
  117.  
  118.   loadhigh XMSDSK [size in Kbytes] [drive:] /y (or EMSDSK)
  119.      This will try to load driver in upper mem without being prompted.
  120.      If a drive is specified then it will be tried otherwise first available
  121.      drive will be used. Drive must be <= LASTDRIVE (in config.sys or 
  122.      dblspace/drvspace.ini, see NB2 above).
  123.  
  124.   XMSDSK (or EMSDSK)
  125.      On DOS command line, tells you the size and drive used by the ramdisk.
  126.  
  127.   XMSDSK <size in Kbytes> (or EMSDSK)
  128.      Modify the size of the ramdisk.
  129.  
  130.   XMSDSK <size in Kbytes> /y (or EMSDSK)
  131.      In a batch file this prevents being prompted when modifying size.
  132.      XMSDSK (and EMSDSK) returns a value which can be used with "errorlevel"
  133.      to tell where it is installed: 0 if not installed or in case of error,
  134.      1 for drive A (huh ?), 2 for B (huh huh ?), 3 for C (hmmm ?), etc ...
  135.  
  136.   XMSDSK /u (or EMSDSK)
  137.      Remove driver from memory, disk doesn't exist anymore.
  138.      
  139.   XMSDSK /u /y (or EMSDSK)
  140.      Same as above, without prompting.  :-)
  141.  
  142.  
  143.   NB: size is in Kbytes (1024 bytes) and rounded to the upper 16 Kbytes.
  144.  
  145.  
  146.   * History
  147.   ----------
  148.  
  149.     v1.0  (May 92)   Initial version.
  150.     v1.1  (Jun 92)   Add some optimization in resident part.
  151.     v1.2  (Oct 93)   Add some tests in size redefinition part.
  152.     v1.3  (Apr 94)   Correct a bug when requested size was around 4000 Kb
  153.                      and another one which limited size to 16 Mb.
  154.                      Add more accurate error messages instead of "error
  155.                      during installation".
  156.     v1.4  (Feb 96)   Some cosmetic cleaning.
  157.     v1.5  (Mar 96)   Add possibility of installation on the command line.
  158.     v1.6  (Apr 96)   Drive to be used can be specified on the command line.
  159.                      Correct a bug which prevent compatibility with SCANDISK
  160.                      (may be other ?) program.
  161.                      Add option y.
  162.     v1.7  (Apr 96)   Bug fix.
  163.     v1.8  (Apr 96)   Some cleaning.
  164.     v1.9  (Sep 96)   Support up to 64 Mbytes.
  165.                      Add option u to remove driver from memory.
  166.                  EMSDSK and EMSDSK86 can be used in place of each other
  167.                  safely.  :-)
  168.     v1.9a (Sep 96)   Support up to 2 Gbytes. This should stop the question 
  169.                      about "could it support more than xxxKb?".  :)
  170.     v1.9b (Oct 96)   Correct a problem with DBLSPACE/DRVSPACE.
  171.  
  172.  
  173.  
  174.   Thanks, for their help and testing (or suggestion), to:
  175.     Philippe Ahles <>
  176.     Frank Decandia <frank.decandia@agoron.com>
  177.     Lee Goldstein <72077.2054@compuserve.com>
  178.     Peter Hayward <peter@cdsl.demon.co.uk>
  179.     Bernard Marone <marone@conline.com>
  180.     Pino Navato <Pino.Navato@p18.f225.n335.z2.fidonet.org>
  181.     Jim Oliver <jim.oliver@welcom.gen.nz>
  182.     Michel Peru <peru@esrf.fr>
  183.     Vladimir Plotto <V.Plotto@frec.bull.fr>
  184.     Mike Ray <mer1@cornell.edu>
  185.     John Stockton <jrs@dclf.npl.co.uk>
  186.     Michel Toussaint <100334.2645@compuserve.com>
  187.  
  188.  
  189. PS: as you may have seen this package is FREEWARE. I would be glad if you
  190.     appreciate (more :-) or less :-( ) it to send a little Email message.
  191.     Thanks.
  192.     
  193. PS2: these utilities (at least XMSDSK) have been used with Linux + Dosemu and
  194.      work well.
  195.      
  196. PS3: it has been reported by several users to work equally well under Win95.
  197.  
  198.  
  199.   * Disclaimer
  200.   -------------
  201.  
  202.  Copyright (C) 1992 - 1996  Franck UBERTO
  203.  
  204.  This package is offered to you "AS IS" without any warranty. This software has
  205. been thoroughly tested but no guarantee is given that it will work on every
  206. computer. The copyright owner may not be held liable for any damages, direct
  207. or consequential, which may result from the the use of this program.
  208.  
  209.  This archive is freely distributable. You may use the software and share it
  210. with all your friends (or others) as long as the program is supplied in its
  211. original, unmodified form, which includes this documentation. This program
  212. must not be distributed for profit.
  213.